1 Präambel

In der folgenden Dokumentation geht es um die 1. Mini Challenge der VAST-Challange 2015 (http://vacommunity.org/2015+VAST+Challenge%3A+MC1). Bei der Challenge geht es um die Analyse der Bewegungsdaten der Besucher eines fiktiven Vergnügungsparkes, der DinoFunWorld. Die Bewegungsdaten der Besucher sind in CSV-Dateien mit dem Muster Timestamp/ID/Type/X-Koordinate/Y-Koordinate/ gespeichert. Sämtliche Datenauswertungen wurden in R implementiert. Für die grafischen Auswertungen wurden die Pakete plot3D, plotrix, plotly, psych, ggplot2, ggparallel, rgl und GGally verwendet. Für das dichtebasierte Clustering wurde die Bibliothek dbscan verwendet. Es ist außerdem anzumerken, dass nicht jede Analysemthode auf die Daten aller Tage angewendet wurde. Der Fokus bei der Arbeit liegt vorrangig darauf, verschiedene Analysetechniken vorzustellen, anstatt sich auf eine geringere Anzahl an Techniken zu beschränken und diese dafür auf alle Tage anzuwenden.

2 Datenvorverarbeitung

Für die grafischen Analysen und Darstellungen müssen die Daten zunächst vorverarbeitet werden. Das Timestamp Attribut der Daten wird so umgewandelt, dass es angibt wie viele Sekunden seit der Eröffnung des Parkes vergangen ist, bis das entsprechende Ereignis eingetreten ist.

3 Grundlegende Informationen

Im folgenden Abschnitt werden grundlegende Informationen aus den Bewegungsdaten gezogen. Über eine Unique Abfrage der einzelnen Tabellen können die Besucherzahlen je Tag ausgerechnet werden. Wie zu erwarten sind die Besucherzahlen mit 7571 Besuchern am Sonntag am größsten. Die Besucheranzahlen der anderen Tage liegen bei:

## [1] "Besucherzahl am Freitag:"
## [1] 3557
## [1] "Besucherzahl am Samstag:"
## [1] 6411
## [1] "Besucherzahl am Sonntag:"
## [1] 7571

Des Weiteren kann anhand der Daten untersucht werden, welche Besucher den Park an mehreren Tagen aufsuchen. Dabei sieht man, dass vergleichweise viele Besucher (2176 Personen) den Park an zwei Tagen aber nur sehr wenige (8 Personen) den Park an drei Tagen besuchen. Aufgrund dieser Erkenntnis könnte man beispielweise die 3-Tageskarten in speziellen Aktionen weiter vergünstigen (Regulärer Preis: 99,99$), um mehr Besucher in den Park zu bringen.

## [1] "Anzahl der Personen, die an genau zwei Tagen den Park besucht haben:"
## [1] 2176
## [1] "Anzahl der Personen, die an genau einem Tag den Park besucht haben:"
## [1] 8

4 Fahrgeschäftnutzung

Grundsätzlich gibt es in dem Park 4 verschiedene Attraktionen:

Zum einen kann anhand der Daten untersucht werden, welche Fahrgeschäfte am meisten von den Besuchern besucht werden, ob es Gruppen von Besuchern gibt, die nur bestimmte Fahrgeschäfte nutzen und wie die Fahrgeschäfte generell im Zeitverlauf besucht werden.

4.1 Check-In Zeiten

Im folgenden Diagramm werden sämtliche Check-In Zeiten des Freizeitparks betrachtet. Dadurch kann analysiert werden, wie häufig Attraktionen im Tagesverlauf besucht werden. Für die Auswertung dieser Daten, müssen die Tabellen für die verschiedenen Tage im Vorfeld anhand der “type” Spalte gefiltert werden.

In dem Diagramm ist an der x-Achse die Uhrzeit angetragen und an der y-Achse die Anzahl der Check-Ins. Diese wurden in 5-Minuten-Blöcken zusammengefasst, um eine bessere grafische Anschaulichkeit der Daten zu ermöglichen.

Interaktiv: Das Bewegen des Mauszeigers über den Plot liefer zusätzliche Informationen über den nächstgelegenen Datenpunkt.

Das Diagramm zeigt, dass die Check-In Zeiten über den Tagesverlauf grundsätzlich an allen betrachteten Tagen ähnlich verlaufen. Deutliche Peaks sind in den Check-Ins um 9 Uhr und 16 Uhr zu erkennen. Zwischen 9 und 16 Uhr schwanken die Anzahl der Check-Ins sehr stark. Die ist z.B. dadruch erklärbar, dass die verschiedenen Besucher im Park zu unterschiedlichen Zeiten Pause machen bzw. Mittagessen gehen. Ab 16 Uhr fallen die Anzahl der Check-Ins bis zur Schließung des Parkes ab. Insgesamt könnte man versuchen die Auslastung der Check-Ins im Freizeitpark zu verbessern. Durch eine andere Verteilung der Shows beziehungsweise weitere Attraktionen zu bestimmten Uhrzeiten, könnten die Check-In Zeiten besser über den Tag verteilt werden, um lange Wartezeiten an einzelnen Attraktionen zu verringern.

4.2 Meistfrequentierte Attraktionen

Nachfolgendend wurde eine Heatmap mit den meistbesuchten Attraktionen des Samstags erstellt. Die am meisten besuchten Attraktionen sind:

  • Wrightiraptor Mountain (1)
  • Galactosaurus Rage (2)
  • Auvilotps Express (3)
  • Wendisaurus Chase (5)
  • Keimosaurus Big Spin (6)
  • Atmosfear (8)
  • Creighton Pavillion (32)

Fast alle dieser Attraktionen gehören zu der Kategorie der Thrill-Fahrgeschäfte. Daraus kann man entweder schließen, dass die Thrill-Fahrgeschäfte am beliebtesten bei den Besuchern sind, Thrill-Fahrer die häufigste Personengruppe sind oder Personen die Thrill fahren, diese sehr häufig fahren.

Interaktiv: Das Bewegen des Mauszeigers über den Plot liefer zusätzliche Informationen über den nächstgelegenen Datenpunkt.

Das selbe Muster lässt auch auch Freitags erkennen. Hierfür ist nachfolgend ein Parallele Koordinaten Plot dargestellt. Für die Zuordnung der Attraktionen zu den verschieden Besuchern wurden im Vorfeld die Koordinaten sämtlicher Attraktionen in eine eigene CSV-Datei geschrieben. Mit dieser CSV-Datei kann abgeglichen werden, für welche Attraktionen sich die einzelnen Besucher im Check-In befanden, also diese Attraktion besuchen wollten. In der folgenden Grafik sind die absoluten Check-In Anzahlen der Freizeitparkbesucher am Freitag abgebildet, unterschieden nach Attraktionsart.

Interaktiv: Durch Gedrückt halten und ziehen der linken Maustaste auf den einzelnen Dimensionsachsen lassen sich pink gefärbte Constraint-Grenzen zum Plot hinzufügen. Dadurch werden die Linien, die innerhalb dieser Grenzen liegen den übrigen gegenüber hervorgehoben.

Es ist zu erkennen, dass die absolute Anzahl an Check-Ins bei den Thrill-Rides deutlich höher als bei den anderen Attraktionen ist. Daraus lässt sich, wie oben bereits angedeutet, schließen, dass die Gruppe der “Adrenalin-Junkies” sehr häufig mit den entsprechenden Fahrgeschäften fahren. Außerdem legt die obige Grafik nah, im Folgenden nicht die absolute Anzahl an Check-Ins der einzelnen Besucher zu betrachten, sondern stattdessen diese in Relation zur insgesamten Check-In Zahl der einzelnen Besucher zu untersuchen, um eine bessere Vergleichbarkeit zu ermöglichen. Dies wurde entsprechend umgesetzt.

4.3 Scatterplot Matrix

Mithilfe einer Scatterplot Matrix können die Check-In Daten der Besucher in Beziehung zu den verschiedenen Attraktionskategorien gestellt werden. Dabei ist ersichtlich, dass spezifische Gruppen exisiteren, die bestimmte Attraktionsarten beziehungsweise Kombinatione aus diesen besonders häufig oder besonders wenig nutzen. Diese Gruppen können mithilfe einer Clusteranalyse identifiziert werden.

4.4 Clustering

Für die Identifizierung verschiedener zusammengehöriger Besuchergruppen wurden zwei Clusteralgorithmen angewandt:

  1. K-Means: Für den K-Means Clusteralgorithmus muss zunächst definiert werden, wie viele Cluster durch den Algortihmus identifiziert werden sollen. Durch die Veränderung dieses Parameters haben wir festgestellt, dass das beste Ergebniss bei drei Clustern erreicht wird.

  2. DBSCAN: Für das dichtebasierte Clustering muss nicht Anzahl der Cluster, aber die Mindestmenge der Punkte in einem Cluster als Parameter definiert werden. Die Punkte in einem Cluster haben einen vorher bestimmten, maximalen Epsilon-Abstand zueinander. Epsilon ist der zweite zu definierende Parameter beim DBSCAN Verfahren.

4.4.1 K-Means Clustering

Beim K-Means Clustering hängt die Güte des Ergebnisses von der Wahl der Anzahl der Cluster ab. In unserem Fall haben wir verschiedene Anzahlen versucht und festgestellt, dass das beste Ergebniss bei drei Clustern erreicht wird. Die Ergebnisse des K-Means Algorithmus mit anderen Clusteranzahlen sind im Anhang abgebildet.

Die drei entstandenen Cluster sind farblich in rot, grün und blau unterschieden.

Im roten Cluster befinden sich die Personen, die hauptsächlich Thrill Attraktionen nutzen (1. Zeile Scatterplot). Diese Personen nutzen neben den Thrill Geschäften nur wenige der Kids und Every aber teilweise auch einige der Show Attraktionen. Die Personen im grünen Cluster nutzen viele der Kids Fahrgeschäfte (2.Zeile Scatterplot) und auch viele Shows. Es ist davon auszugehen, dass in diesem Cluster ein Großteil der Kinder im Freizeitpark enthalten ist. Im blauen Cluster werden viele der Every Fahrgeschäfte genutzt. Diese Gruppe besucht jeweils alle Typen von Fahrgeschäften gleich häufig.

Obwohl das Ergebnis des k-Means Clusterings ein wenig willkürlich erscheint, zeigt sich in den folgenden parallelen Koordinaten Plots, dass die einzelnen Cluster durchaus in sich zusammenhängende Strukturen darstellen. Das Farbschema entspricht hierbei den Clustern aus der Scatterplotmatrix zum k-Means Clustering.

Im nachfolgenden Plot können die eben gewonnenen Erkenntnisse nochmal eigenhändig nachgeprüft werden. Die Farbgebung entspricht erneut dem in der Scatterplotmatrix verwendeten Farbschema.

Interaktiv: Durch Gedrückt halten und ziehen der linken Maustaste lassen sich die pink gefärbte Constraint-Grenzen verschieben. Die voreingestellten Constraint-Balken-Größen eignen sich bereits gut, um die oben gefundenen Cluster voneinander trennen zu können.

4.4.2 Dichtebasiertes Clustering: DBSCAN

Das Ergebnis des dichtebasierten Clusterings zeigt, dass die Tendenz, welche sich im k-Means Clustering gezeigt hat, zum Teil bestätigt wird. Für die Verwendung des DBSCAN Alogrithmus muss die minimale Anzahl an Punkten im Cluster sowie die Epsilon Umgebung definiert werden. In unserem Fall wurde die Epsilonumgebung mit 0.045 definiert und die minimal Anzahl auf 5 Punkte je Cluster gesetzt.

4.5 Lineare Regression

Die Scatterplotmatrix des DBSCAN Algorithmus legt nah, dass ein gewisser Zusammenhang zwischen der Häufigkeit, dass Besucher Thrill-Rides beziehungsweise Kids-Rides fahren, besteht.

## [1] "Korrelation zwischen Thrill und Kids:"
## [1] -0.6113777

Eine Korrelation von -0.6113777 deutet darauf hin, dass ein gewisser Zusammenhang zwischen den beiden Werten besteht und zwar von der Form, dass ein verstärktes Fahren von Thrill-Rides mit einem veminderten Fahren von Kids-Rides einhergeht und umgekehrt. Um diese Hypothese genauer zu untersuchen, erstellen wir ein lineares Regressionsmodell zu den beiden Features:

## [1] "Summary of Regression Model:"
## 
## Call:
## lm(formula = Thrill ~ Kids, data = id_prefs_prc)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.64926 -0.07263  0.00592  0.08151  0.35074 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  0.649261   0.003327  195.12   <2e-16 ***
## Kids        -0.793125   0.017218  -46.06   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.1242 on 3555 degrees of freedom
## Multiple R-squared:  0.3738, Adjusted R-squared:  0.3736 
## F-statistic:  2122 on 1 and 3555 DF,  p-value: < 2.2e-16

Der \(\mathcal{R}^2\)-Wert beträgt 0.3738. Dabei bedeutet ein \(\mathcal{R}^2\)-Wert von 1, dass ein lineares Regressionsmodell perfekt zu den gegebenen Daten passt, wohingegen 0 bedeutet, dass das Modell gar nicht zu den Daten passt. Da es sich in unserer Analyse um Tendenzen im menschlichen Verhalten handelt, besitzt ein Modell mit einem \(\mathcal{R}^2\)-Wert von 0.3738 noch durchaus eine gewisse Aussagekraft.

Zu beachten ist bei unseren Betrachtungen allerdings auch, dass ein Teil der negativen Korrelation zwischen den meisten Features wahrscheinlich dadurch zu erklären ist, dass tendenziell jemand, der sehr viele Fahrgeschäfte von einer Art gefahren ist, automatisch nur noch wenig Zeit hat, die er in Fahrgeschäften einer andere Art verbringen kann.

5 Bewegungsanalyse

Nachdem wir viel über das Fahrverhalten der Parkbesucher herausgefunden haben, wollen wir uns nun der Frage widmen, ob es Personen gab, die den Park zwar besucht, aber keine der angebotenen Attraktionen genutzt haben.

## [1] "Anzahl der Besucher, die Freitags keine Fahrgeschäfte benutzt haben:"
## [1] 16

Das Ergebnis zeigt, dass es 16 Personen gab, die am Freitag keine der angebotenen Fahrgeschäfte genutzt haben. Für diese Personen ist interessant, wo sie sich die meiste Zeit über aufgehalten haben, wenn sie schon keines der Fahrgeschäfte gefahren sind.

Interaktiv: Das Bewegen des Mauszeigers über den Plot liefer zusätzliche Informationen über den nächstgelegenen Datenpunkt.

Ein Vergleich der Grafik mit der Parkkarte ergibt, dass sich der Großteil der Personen, die keine Fahrgeschäfte besucht haben, die meiste Zeit in den folgenden Bereichen aufgehalten haben:

Insgesamt lassen diese Daten vermuten, dass es sich bei den Besuchern, die kein Fahrgeschäft genutzt haben, um Besucher handelt, die mit ihren Familien unterwegs sind. Dabei kann es sich entweder um ältere Menschen handeln (dürfen keine Fahrgeschäfte mehr fahren) oder um Eltern, die sämtliche Zeit auf ihre Kinder aufpassen. Die Personen betrachten Fahrgeschäfte lediglich von außen oder befinden sich in der Nähe von Essbuden.

6 Die Suche nach den Tätern

Im Folgenden nehmen wir uns noch der Frage an, wie man die “düstere Person aus Jones’s Vergangenheit” und ihre Komplizen ausfindig machen könnte. Die nachfolgende 3D-Grafik ist interaktiv rotierbar und gibt einen Überblick über das Bewegungsmuster einer einzelnen Person. Dabei sind in der X-Y-Ebene die Parkkordinaten abgetragen und in Z-Richtung der zeitliche Verlauf. Um eine bessere Übertragbarkeit auf die Parkkarte zu ermöglichen wurde der gesamte zurückgelegte Weg in rot auf die X-Y-Ebene projiziert. Hätte man aus den Gesprächsinformationen herausgearbeitet, in welchem Zeitraum der Vandalismus und der Diebstahl stattgefunden haben, so könnte man die Koordinaten des Tatorts, dem Pavillion, über diesen Zeitraum farbig hervorheben (im Beispiel orange). Verdächtige Personen wären dann daran zu erkennen, dass sie sich während des markierten Zeitraums im Bereich des Pavillions aufgehalten haben. Zu der Zeit des Einbruchs war der Pavillion dem Zeitungsbericht zu Folge nämlich geschlossen und somit gab es keinen Grund, sich länger im Bereich des Pavillions aufzuhalten. Außerdem ist davon auszugehen, dass die Diebe sonst keine weiteren Fahrgeschäfte genutzt haben, somit ließe sich durch dieses Ausschlusskriterium die Zahl der zu überprüfenden Personen stark einschränken.

You must enable Javascript to view this page properly.

Interaktiv: Der dargestellte Plot ist durch Klicken und Halten der linken Maustaste frei rotierbar und erlaubt zudem ein Heran- bzw. Herauszoomen mit Hilfe des Mausrades.

7 Anhang

7.1 K-Means Cluster

Anbei befinden sich die Ergebnisse des K-Means Clustering mit 2, 6 und 12 Clustern.